1. Field of the Invention
The present invention relates generally to the fields of dynamic service provision in a wireless framework. More particularly, the present invention provides for interactions between one or more mobile computing devices and heterogeneous application servers.
2. Background of the Invention
The 1990's saw the rapid expansion and adoption of the Internet (and related technology) by businesses, universities and homes. Corporations invested heavily in building technology infrastructures consisting of servers, networks, and user stations that tied together operations around the world. With the advent of this new communications medium, organizations along with individual users enjoyed the ability to access, present, and manage information that users demanded.
Technology continues to develop into smaller, faster, and less expensive devices. IT infrastructures are extending themselves right into the user's hand via wireless technology. No longer confined by wire-based network connections, users are free to move about the globe accessing data at any time and any place. Along with this mobility comes the demand for a larger number of new software applications involving the combination of a much wider range of technology.
Mobile computing devices (“MCDs”) are one of the newer innovations in computer technology, and sales of MCDs now include personal digital assistants (“PDAs”), palmtop PC's, and handheld wireless communication devices. Traditionally, MCDs allow users to organize personal affairs, write memos, calculate equations, record contact numbers in an address book, and run other basic software applications. However, mobile computing devices have largely been limited in the applications that that they could run due to several factors including: limited processing power/speed; the need to individually select and download useful applications; power consumption/battery life; and/or limited memory and storage. Accordingly, many useful applications are not developed for MCDs because of the limited computing resources possessed by many MCDs. In addition, developing applications for MCDs is complicated by the lack of a standard MCD operating platform. For example, to deliver a software solution to a majority of MCDs a developer would, at a minimum, have to create separate applications for WinCE-based devices, Palm, Inc.'s PALM OS®-based devices and Symbian Limited's EPOC®-based devices.
With respect to selecting and downloading useful applications, a MCD user typically would want to select applications and customize his/her MCD to manage tasks relevant to the user. Initially, downloading an application to a MCD was accomplished via a hardwire connection with a personal computer. The MCD user typically would preinstall an application before the application would be available. The installation process was performed by accessing a web site and downloading the specific application.
As an improvement to interfacing and communicating with other computing devices, later improvements in wireless technologies have allowed the MCD user the opportunity to download an application from a computer without the need for a hardwired connection. However, the burden is still on the MCD user to manually locate a computer capable of interacting with the MCD and to download the appropriate application.
The continuing emergence of wireless network access will lead to a dramatic rise in sales of mobile computing devices. However, the same limitations (battery life, processor speed, etc.) that prevent MCDs from using intensive applications also limit wireless network access. Most existing wireless network access is limited largely to wireless Internet web browsing.
Current attempts to increase the wireless capabilities of PDAs generally have focused on service discovery, a term used to describe the protocols and mechanisms by which a network connected device or software service becomes aware of the network to which it is connected and discovers which network services are available. For example, a PDA needs to discover the home network, and find a service that will provide PDA to PC synchronization capabilities and use that synchronization service.
Service discovery can be pre-configured. This is the solution that techniques such as DHCP, DNS and LDAP provide for enterprise networks. For a relatively static system with infrequent addition of new devices or software services, this may be a viable approach. However, in many instances, new information and services will be added and changed. Present service discovery mechanisms have largely ignored the difficulties of providing services to a multitude of heterogeneous mobile devices, many with their own native operating systems and hardware.
Protocols and technologies have been developed to address new and changing services. Three popular technologies are Bluetooth SIG, Inc.'s BLUETOOTH™, Sun Microsystems, Inc.'s JINI™, and Universal Plug and Play (UPnP). Sun Microsystems developed the JINI™ technology to address needs for networks of Java-enabled devices, using API's as the sole contract between vendors. BLUETOOTH™ is a consortium developing short-range wireless communication protocol, which allows BLUETOOTH™ devices to discover services offered by or through other BLUETOOTH™ devices. Universal Plug and Play (UPnP) is marketed as a language- and operating system-neutral platform. Users of UPnP are able to dynamically download applications to wireless devices regardless of the device vendor.